######################################
#
######################################
#source file
#源文件，自动找所有.c和.cpp文件，并将目标定义为同名.o文件
#SOURCE  := $(wildcard *.c) $(wildcard *.cpp)
#OBJS    := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE)))
#SOURCE  := RWImgHeap.cpp GenImage.cpp GenVedio.cpp Txcore.cpp main_ge.cpp
SOURCE  := main.c
OBJS    := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE)))


 
#target you can change test to what you want
#目标文件名，输入任意你想要的执行文件名
#TARGET  := updateIp
#TARGET  := GetMyIp_
TARGET  := charFont

#compile and lib parameter
#编译参数 -g  -mavx -mfma -DEIGEN_USE_MKL_ALL
CC       := g++
FLAG_EIGEN := -fopenmp -mavx -mfma
LIBNANA := -ljsoncpp -lnana -lgdi32 -lcomdlg32 -lpng -ljpeg -lz
LIBCOM  := -lserial -lsetupapi
LIBS    := -lfreetype -lpng -lz -lbz2
#-lnana -lgdi32 -lcomdlg32 -lpng -ljpeg -lz
HIDEFLG := -Wl,--subsystem,windows
LDFLAGS := -L.
DEFINES := -D__STDC_CONSTANT_MACROS -DHAVE_CONFIG_H 
INCLUDE := -I. -I./include
CFLAGS  := -w  $(DEFINES) $(INCLUDE) $(FLAG_EIGEN)
#-O3 不能开优化？
CXXFLAGS:= $(CFLAGS) -static-libgcc -static-libstdc++ -static
#-DEIGEN_USE_MKL_ALL  
  
#i think you should do anything here
#下面的基本上不需要做任何改动了
.PHONY : everything objs clean veryclean rebuild
  
everything : $(TARGET)
  
all : $(TARGET)
  
objs : $(OBJS)
  
rebuild: veryclean everything
                
clean :
	rm -fr *.so
	rm -fr *.o
    
distclean : clean
	rm -fr $(TARGET)
  
$(TARGET) : $(OBJS)
	$(CC) $(CXXFLAGS) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)